home *** CD-ROM | disk | FTP | other *** search
/ MacFormat 1995 March / macformat-022.iso / Shareware City / Developers / MW MPW Binaries 1.1.1a2 / mwcPPC / MWCIncludes / Editions.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-01-31  |  16.0 KB  |  497 lines  |  [TEXT/MMCC]

  1. /*
  2.     File:        Editions.h
  3.  
  4.     Copyright:    © 1984-1993 by Apple Computer, Inc., all rights reserved.
  5.  
  6.     WARNING
  7.     This file was auto generated by the interfacer tool. Modifications
  8.     must be made to the master file.
  9.  
  10. */
  11.  
  12. #ifndef __EDITIONS__
  13. #define __EDITIONS__
  14.  
  15. #ifndef __MEMORY__
  16. #include <Memory.h>
  17. /*    #include <Types.h>                                            */
  18. /*        #include <ConditionalMacros.h>                            */
  19. /*        #include <MixedMode.h>                                    */
  20. /*            #include <Traps.h>                                    */
  21. #endif
  22.  
  23. #ifndef __TYPES__
  24. #endif
  25.  
  26. #ifndef __FILES__
  27. #include <Files.h>
  28. /*    #include <OSUtils.h>                                        */
  29. /*    #include <SegLoad.h>                                        */
  30. #endif
  31.  
  32. #ifndef __ALIASES__
  33. #include <Aliases.h>
  34. /*    #include <AppleTalk.h>                                        */
  35. #endif
  36.  
  37. #ifndef __DIALOGS__
  38. #include <Dialogs.h>
  39. /*    #include <Windows.h>                                        */
  40. /*        #include <Quickdraw.h>                                    */
  41. /*            #include <QuickdrawText.h>                            */
  42. /*                #include <IntlResources.h>                        */
  43. /*        #include <Events.h>                                        */
  44. /*        #include <Controls.h>                                    */
  45. /*            #include <Menus.h>                                    */
  46. /*    #include <TextEdit.h>                                        */
  47. #endif
  48.  
  49.  
  50. /* resource types  */
  51.  
  52. #define rSectionType 'sect'
  53.  
  54.  
  55. /* Finder types for edition files */
  56.  
  57. #define kPICTEditionFileType 'edtp'
  58.  
  59. #define kTEXTEditionFileType 'edtt'
  60.  
  61. #define ksndEditionFileType 'edts'
  62.  
  63. #define kUnknownEditionFileType 'edtu'
  64.  
  65. #define kPublisherDocAliasFormat 'alis'
  66.  
  67. #define kPreviewFormat 'prvw'
  68.  
  69. #define kFormatListFormat 'fmts'
  70.  
  71. enum  {
  72. /* section types */
  73.     stSubscriber                = 0x01,
  74.     stPublisher                    = 0x0A,
  75.     sumAutomatic                = 0,                            /* subscriber update mode - Automatically     */
  76.     sumManual                    = 1,                            /* subscriber update mode - Manually */
  77.     pumOnSave                    = 0,                            /* publisher update mode - OnSave            */
  78.     pumManual                    = 1,                            /* publisher update mode - Manually */
  79.     kPartsNotUsed                = 0,
  80.     kPartNumberUnknown            = -1,                            /* misc */
  81.     kPreviewWidth                = 120,
  82.     kPreviewHeight                = 120,
  83. /* bits for formatsMask */
  84.     kPICTformatMask                = 1,
  85.     kTEXTformatMask                = 2,
  86.     ksndFormatMask                = 4,
  87. /* pseudo-item hits for dialogHooks 
  88.  the first if for NewPublisher or NewSubscriber Dialogs */
  89.     emHookRedrawPreview            = 150,
  90. /* the following are for SectionOptions Dialog */
  91.     emHookCancelSection            = 160,
  92.     emHookGoToPublisher            = 161,
  93.     emHookGetEditionNow            = 162,
  94.     emHookSendEditionNow        = 162,
  95.     emHookManualUpdateMode        = 163,
  96.     emHookAutoUpdateMode        = 164
  97. };
  98.  
  99. #define emOptionsDialogRefCon 'optn'
  100.  
  101. #define emCancelSectionDialogRefCon 'cncl'
  102.  
  103. #define emGoToPubErrDialogRefCon 'gerr'
  104.  
  105. enum  {
  106. /* the refcon field of the dialog record during a modalfilter 
  107.  or dialoghook contains one the following */
  108.     kFormatLengthUnknown        = -1
  109. };
  110.  
  111.  
  112. /* one byte, stSubscriber or stPublisher */
  113.  
  114. typedef char SectionType;
  115.  
  116.  
  117. /* seconds since 1904 */
  118.  
  119. typedef unsigned long TimeStamp;
  120.  
  121.  
  122. /* similar to ResType */
  123.  
  124. typedef unsigned long FormatType;
  125.  
  126.  
  127. /* used in Edition I/O */
  128.  
  129. typedef Handle EditionRefNum;
  130.  
  131.  
  132. /* update modes */
  133.  
  134.  
  135. /* sumAutomatic, pumSuspend, etc */
  136.  
  137. typedef short UpdateMode;
  138.  
  139. #if defined(powerc) || defined (__powerc)
  140. #pragma options align=mac68k
  141. #endif
  142. struct SectionRecord {
  143.     SignedByte                    version;                        /* always 0x01 in system 7.0 */
  144.     SectionType                    kind;                            /* stSubscriber or stPublisher */
  145.     UpdateMode                    mode;                            /* auto or manual */
  146.     TimeStamp                    mdDate;                            /* last change in document */
  147.     long                        sectionID;                        /* app. specific, unique per document */
  148.     long                        refCon;                            /* application specific */
  149.     AliasHandle                    alias;                            /* handle to Alias Record */
  150.     long                        subPart;                        /* which part of container file */
  151.     struct SectionRecord        **nextSection;                    /* for linked list of app's Sections */
  152.     Handle                        controlBlock;                    /* used internally */
  153.     EditionRefNum                refNum;                            /* used internally */
  154. };
  155. #if defined(powerc) || defined(__powerc)
  156. #pragma options align=reset
  157. #endif
  158.  
  159. typedef struct SectionRecord SectionRecord;
  160.  
  161. typedef SectionRecord *SectionPtr, **SectionHandle;
  162.  
  163. #if defined(powerc) || defined (__powerc)
  164. #pragma options align=mac68k
  165. #endif
  166. struct EditionContainerSpec {
  167.     FSSpec                        theFile;
  168.     ScriptCode                    theFileScript;
  169.     long                        thePart;
  170.     Str31                        thePartName;
  171.     ScriptCode                    thePartScript;
  172. };
  173. #if defined(powerc) || defined(__powerc)
  174. #pragma options align=reset
  175. #endif
  176.  
  177. typedef struct EditionContainerSpec EditionContainerSpec;
  178.  
  179. typedef EditionContainerSpec *EditionContainerSpecPtr;
  180.  
  181. #if defined(powerc) || defined (__powerc)
  182. #pragma options align=mac68k
  183. #endif
  184. struct EditionInfoRecord {
  185.     TimeStamp                    crDate;                            /* date EditionContainer was created */
  186.     TimeStamp                    mdDate;                            /* date of last change */
  187.     OSType                        fdCreator;                        /* file creator */
  188.     OSType                        fdType;                            /* file type */
  189.     EditionContainerSpec        container;                        /* the Edition */
  190. };
  191. #if defined(powerc) || defined(__powerc)
  192. #pragma options align=reset
  193. #endif
  194.  
  195. typedef struct EditionInfoRecord EditionInfoRecord;
  196.  
  197. #if defined(powerc) || defined (__powerc)
  198. #pragma options align=mac68k
  199. #endif
  200. struct NewPublisherReply {
  201.     Boolean                        canceled;                        /* O */
  202.     Boolean                        replacing;
  203.     Boolean                        usePart;                        /* I */
  204.     Handle                        preview;                        /* I */
  205.     FormatType                    previewFormat;                    /* I */
  206.     EditionContainerSpec        container;                        /* I/O */
  207. };
  208. #if defined(powerc) || defined(__powerc)
  209. #pragma options align=reset
  210. #endif
  211.  
  212. typedef struct NewPublisherReply NewPublisherReply;
  213.  
  214. #if defined(powerc) || defined (__powerc)
  215. #pragma options align=mac68k
  216. #endif
  217. struct NewSubscriberReply {
  218.     Boolean                        canceled;                        /* O */
  219.     unsigned char                formatsMask;
  220.     EditionContainerSpec        container;                        /*I/O*/
  221. };
  222. #if defined(powerc) || defined(__powerc)
  223. #pragma options align=reset
  224. #endif
  225.  
  226. typedef struct NewSubscriberReply NewSubscriberReply;
  227.  
  228. #if defined(powerc) || defined (__powerc)
  229. #pragma options align=mac68k
  230. #endif
  231. struct SectionOptionsReply {
  232.     Boolean                        canceled;                        /* O */
  233.     Boolean                        changed;                        /* O */
  234.     SectionHandle                sectionH;                        /* I */
  235.     ResType                        action;                            /* O */
  236. };
  237. #if defined(powerc) || defined(__powerc)
  238. #pragma options align=reset
  239. #endif
  240.  
  241. typedef struct SectionOptionsReply SectionOptionsReply;
  242.  
  243. typedef pascal Boolean (*ExpModalFilterProcPtr)(DialogPtr theDialog, EventRecord *theEvent, short itemOffset, short *itemHit, Ptr yourDataPtr);
  244.  
  245. enum {
  246.     uppExpModalFilterProcInfo = kPascalStackBased
  247.          | RESULT_SIZE(SIZE_CODE(sizeof(Boolean)))
  248.          | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(DialogPtr)))
  249.          | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(EventRecord*)))
  250.          | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(short)))
  251.          | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(short*)))
  252.          | STACK_ROUTINE_PARAMETER(5, SIZE_CODE(sizeof(Ptr)))
  253. };
  254.  
  255. #if USESROUTINEDESCRIPTORS
  256. typedef UniversalProcPtr ExpModalFilterUPP;
  257.  
  258. #define CallExpModalFilterProc(userRoutine, theDialog, theEvent, itemOffset, itemHit, yourDataPtr)        \
  259.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppExpModalFilterProcInfo, (theDialog), (theEvent), (itemOffset), (itemHit), (yourDataPtr))
  260. #define NewExpModalFilterProc(userRoutine)        \
  261.         (ExpModalFilterUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppExpModalFilterProcInfo, GetCurrentISA())
  262. #else
  263. typedef ExpModalFilterProcPtr ExpModalFilterUPP;
  264.  
  265. #define CallExpModalFilterProc(userRoutine, theDialog, theEvent, itemOffset, itemHit, yourDataPtr)        \
  266.         (*(userRoutine))((theDialog), (theEvent), (itemOffset), (itemHit), (yourDataPtr))
  267. #define NewExpModalFilterProc(userRoutine)        \
  268.         (ExpModalFilterUPP)(userRoutine)
  269. #endif
  270.  
  271. typedef pascal short (*ExpDlgHookProcPtr)(short itemOffset, short itemHit, DialogPtr theDialog, Ptr yourDataPtr);
  272.  
  273. enum {
  274.     uppExpDlgHookProcInfo = kPascalStackBased
  275.          | RESULT_SIZE(SIZE_CODE(sizeof(short)))
  276.          | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(short)))
  277.          | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(short)))
  278.          | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(DialogPtr)))
  279.          | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(Ptr)))
  280. };
  281.  
  282. #if USESROUTINEDESCRIPTORS
  283. typedef UniversalProcPtr ExpDlgHookUPP;
  284.  
  285. #define CallExpDlgHookProc(userRoutine, itemOffset, itemHit, theDialog, yourDataPtr)        \
  286.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppExpDlgHookProcInfo, (itemOffset), (itemHit), (theDialog), (yourDataPtr))
  287. #define NewExpDlgHookProc(userRoutine)        \
  288.         (ExpDlgHookUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppExpDlgHookProcInfo, GetCurrentISA())
  289. #else
  290. typedef ExpDlgHookProcPtr ExpDlgHookUPP;
  291.  
  292. #define CallExpDlgHookProc(userRoutine, itemOffset, itemHit, theDialog, yourDataPtr)        \
  293.         (*(userRoutine))((itemOffset), (itemHit), (theDialog), (yourDataPtr))
  294. #define NewExpDlgHookProc(userRoutine)        \
  295.         (ExpDlgHookUPP)(userRoutine)
  296. #endif
  297.  
  298. enum  {
  299.     ioHasFormat,
  300.     ioReadFormat,
  301.     ioNewFormat,
  302.     ioWriteFormat
  303. };
  304.  
  305. typedef unsigned char FormatIOVerb;
  306.  
  307. enum  {
  308.     eoOpen,
  309.     eoClose,
  310.     eoOpenNew,
  311.     eoCloseNew,
  312.     eoCanSubscribe
  313. };
  314.  
  315. typedef unsigned char EditionOpenerVerb;
  316.  
  317. #if defined(powerc) || defined (__powerc)
  318. #pragma options align=mac68k
  319. #endif
  320. struct FormatIOParamBlock {
  321.     long                        ioRefNum;
  322.     FormatType                    format;
  323.     long                        formatIndex;
  324.     unsigned long                offset;
  325.     Ptr                            buffPtr;
  326.     unsigned long                buffLen;
  327. };
  328. #if defined(powerc) || defined(__powerc)
  329. #pragma options align=reset
  330. #endif
  331.  
  332. typedef struct FormatIOParamBlock FormatIOParamBlock;
  333.  
  334. typedef struct EditionOpenerParamBlock EditionOpenerParamBlock;
  335.  
  336. typedef pascal short (*FormatIOProcPtr)(FormatIOVerb selector, FormatIOParamBlock *PB);
  337.  
  338. typedef pascal short (*EditionOpenerProcPtr)(EditionOpenerVerb selector, EditionOpenerParamBlock *PB);
  339.  
  340. enum  {
  341.     uppFormatIOProcInfo            = kPascalStackBased|RESULT_SIZE(kTwoByteCode)|STACK_ROUTINE_PARAMETER(1,kOneByteCode)|STACK_ROUTINE_PARAMETER(2,kFourByteCode),
  342.     uppEditionOpenerProcInfo    = kPascalStackBased|RESULT_SIZE(kTwoByteCode)|STACK_ROUTINE_PARAMETER(1,kOneByteCode)|STACK_ROUTINE_PARAMETER(2,kFourByteCode)
  343. };
  344.  
  345.  
  346. /* Note: Use CallEditionOpenerProc and CallFormatIOProc to call these routines */
  347.  
  348. #if USESROUTINEDESCRIPTORS
  349. typedef UniversalProcPtr FormatIOUPP;
  350.  
  351. typedef UniversalProcPtr EditionOpenerUPP;
  352.  
  353. #define NewFormatIOProc(userRoutine)  \
  354.     (FormatIOUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppFormatIOProcInfo, GetCurrentISA())
  355.  
  356. #define NewEditionOpenerProc(userRoutine)  \
  357.     (EditionOpenerUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppEditionOpenerProcInfo, GetCurrentISA())
  358.  
  359. #else
  360. typedef FormatIOProcPtr FormatIOUPP;
  361.  
  362. typedef EditionOpenerProcPtr EditionOpenerUPP;
  363.  
  364. #define NewFormatIOProc(userRoutine) (FormatIOUPP)(userRoutine)
  365.  
  366. #define NewEditionOpenerProc(userRoutine) (EditionOpenerUPP)(userRoutine)
  367.  
  368. #endif
  369.  
  370. #if defined(powerc) || defined (__powerc)
  371. #pragma options align=mac68k
  372. #endif
  373. struct EditionOpenerParamBlock {
  374.     EditionInfoRecord            info;
  375.     SectionHandle                sectionH;
  376.     FSSpecPtr                    document;
  377.     OSType                        fdCreator;
  378.     long                        ioRefNum;
  379.     FormatIOUPP                    ioProc;
  380.     Boolean                        success;
  381.     unsigned char                formatsMask;
  382. };
  383. #if defined(powerc) || defined(__powerc)
  384. #pragma options align=reset
  385. #endif
  386.  
  387.  
  388. /* 
  389.  Section events now arrive in the message buffer using the AppleEvent format.
  390.  The direct object parameter is an aeTemporaryIDParamType ('tid '). The temporary
  391.  ID's type is rSectionType ('sect') and the 32-bit value is a SectionHandle.
  392.  The following is a sample buffer
  393.  
  394.  name   offset contents
  395.  ----   ------ --------
  396.  
  397.  header   0  'aevt'
  398.  majorVersion 4  0x01
  399.  minorVersion 6  0x01
  400.  endOfMetaData 8  ';;;;' 
  401.  directObjKey 12  '----' 
  402.  paramType  16  'tid ' 
  403.  paramLength  20  0x0008 
  404.  tempIDType  24  'sect' 
  405.  tempID    28  the SectionHandle <-- this is want you want*/
  406.  
  407. #define sectionEventMsgClass 'sect'
  408.  
  409. #define sectionReadMsgID 'read'
  410.  
  411. #define sectionWriteMsgID 'writ'
  412.  
  413. #define sectionScrollMsgID 'scrl'
  414.  
  415. #define sectionCancelMsgID 'cncl'
  416.  
  417. #define currentEditionMgrVers 0x0011
  418.  
  419. #ifdef __cplusplus
  420. extern "C" {
  421. #endif
  422.  
  423. #if !USESCODEFRAGMENTS
  424. extern pascal OSErr InitEditionPack(void)
  425.  FIVEWORDINLINE(0x3F3C, 0x0011, 0x303C, 0x0100, 0xA82D);
  426. #else
  427. extern pascal OSErr InitEditionPackVersion(short curEditionMgrVers)
  428.  THREEWORDINLINE(0x303C, 0x0100, 0xA82D);
  429. #define InitEditionPack() InitEditionPackVersion(currentEditionMgrVers)
  430.  
  431. #endif
  432.  
  433. extern pascal OSErr NewSection(const EditionContainerSpec *container, const FSSpec *sectionDocument, SectionType kind, long sectionID, UpdateMode initalMode, SectionHandle *sectionH)
  434.  THREEWORDINLINE(0x303C, 0x0A02, 0xA82D);
  435. extern pascal OSErr RegisterSection(const FSSpec *sectionDocument, SectionHandle sectionH, Boolean *aliasWasUpdated)
  436.  THREEWORDINLINE(0x303C, 0x0604, 0xA82D);
  437. extern pascal OSErr UnRegisterSection(SectionHandle sectionH)
  438.  THREEWORDINLINE(0x303C, 0x0206, 0xA82D);
  439. extern pascal OSErr IsRegisteredSection(SectionHandle sectionH)
  440.  THREEWORDINLINE(0x303C, 0x0208, 0xA82D);
  441. extern pascal OSErr AssociateSection(SectionHandle sectionH, const FSSpec *newSectionDocument)
  442.  THREEWORDINLINE(0x303C, 0x040C, 0xA82D);
  443. extern pascal OSErr CreateEditionContainerFile(const FSSpec *editionFile, OSType fdCreator, ScriptCode editionFileNameScript)
  444.  THREEWORDINLINE(0x303C, 0x050E, 0xA82D);
  445. extern pascal OSErr DeleteEditionContainerFile(const FSSpec *editionFile)
  446.  THREEWORDINLINE(0x303C, 0x0210, 0xA82D);
  447. extern pascal OSErr OpenEdition(SectionHandle subscriberSectionH, EditionRefNum *refNum)
  448.  THREEWORDINLINE(0x303C, 0x0412, 0xA82D);
  449. extern pascal OSErr OpenNewEdition(SectionHandle publisherSectionH, OSType fdCreator, const FSSpec *publisherSectionDocument, EditionRefNum *refNum)
  450.  THREEWORDINLINE(0x303C, 0x0814, 0xA82D);
  451. extern pascal OSErr CloseEdition(EditionRefNum whichEdition, Boolean successful)
  452.  THREEWORDINLINE(0x303C, 0x0316, 0xA82D);
  453. extern pascal OSErr EditionHasFormat(EditionRefNum whichEdition, FormatType whichFormat, Size *formatSize)
  454.  THREEWORDINLINE(0x303C, 0x0618, 0xA82D);
  455. extern pascal OSErr ReadEdition(EditionRefNum whichEdition, FormatType whichFormat, void *buffPtr, Size *buffLen)
  456.  THREEWORDINLINE(0x303C, 0x081A, 0xA82D);
  457. extern pascal OSErr WriteEdition(EditionRefNum whichEdition, FormatType whichFormat, const void *buffPtr, Size buffLen)
  458.  THREEWORDINLINE(0x303C, 0x081C, 0xA82D);
  459. extern pascal OSErr GetEditionFormatMark(EditionRefNum whichEdition, FormatType whichFormat, unsigned long *currentMark)
  460.  THREEWORDINLINE(0x303C, 0x061E, 0xA82D);
  461. extern pascal OSErr SetEditionFormatMark(EditionRefNum whichEdition, FormatType whichFormat, unsigned long setMarkTo)
  462.  THREEWORDINLINE(0x303C, 0x0620, 0xA82D);
  463. extern pascal OSErr GetEditionInfo(const SectionHandle sectionH, EditionInfoRecord *editionInfo)
  464.  THREEWORDINLINE(0x303C, 0x0422, 0xA82D);
  465. extern pascal OSErr GoToPublisherSection(const EditionContainerSpec *container)
  466.  THREEWORDINLINE(0x303C, 0x0224, 0xA82D);
  467. extern pascal OSErr GetLastEditionContainerUsed(EditionContainerSpec *container)
  468.  THREEWORDINLINE(0x303C, 0x0226, 0xA82D);
  469. extern pascal OSErr GetStandardFormats(const EditionContainerSpec *container, FormatType *previewFormat, Handle preview, Handle publisherAlias, Handle formats)
  470.  THREEWORDINLINE(0x303C, 0x0A28, 0xA82D);
  471. extern pascal OSErr GetEditionOpenerProc(EditionOpenerUPP *opener)
  472.  THREEWORDINLINE(0x303C, 0x022A, 0xA82D);
  473. extern pascal OSErr SetEditionOpenerProc(EditionOpenerUPP opener)
  474.  THREEWORDINLINE(0x303C, 0x022C, 0xA82D);
  475. extern pascal OSErr CallEditionOpenerProc(EditionOpenerVerb selector, EditionOpenerParamBlock *PB, EditionOpenerUPP routine)
  476.  THREEWORDINLINE(0x303C, 0x052E, 0xA82D);
  477. extern pascal OSErr CallFormatIOProc(FormatIOVerb selector, FormatIOParamBlock *PB, FormatIOUPP routine)
  478.  THREEWORDINLINE(0x303C, 0x0530, 0xA82D);
  479. extern pascal OSErr NewSubscriberDialog(NewSubscriberReply *reply)
  480.  THREEWORDINLINE(0x303C, 0x0232, 0xA82D);
  481. extern pascal OSErr NewSubscriberExpDialog(NewSubscriberReply *reply, Point where, short expansionDITLresID, ExpDlgHookUPP dlgHook, ExpModalFilterUPP filter, void *yourDataPtr)
  482.  THREEWORDINLINE(0x303C, 0x0B34, 0xA82D);
  483. extern pascal OSErr NewPublisherDialog(NewPublisherReply *reply)
  484.  THREEWORDINLINE(0x303C, 0x0236, 0xA82D);
  485. extern pascal OSErr NewPublisherExpDialog(NewPublisherReply *reply, Point where, short expansionDITLresID, ExpDlgHookUPP dlgHook, ExpModalFilterUPP filter, void *yourDataPtr)
  486.  THREEWORDINLINE(0x303C, 0x0B38, 0xA82D);
  487. extern pascal OSErr SectionOptionsDialog(SectionOptionsReply *reply)
  488.  THREEWORDINLINE(0x303C, 0x023A, 0xA82D);
  489. extern pascal OSErr SectionOptionsExpDialog(SectionOptionsReply *reply, Point where, short expansionDITLresID, ExpDlgHookUPP dlgHook, ExpModalFilterUPP filter, void *yourDataPtr)
  490.  THREEWORDINLINE(0x303C, 0x0B3C, 0xA82D);
  491. #ifdef __cplusplus
  492. }
  493. #endif
  494.  
  495. #endif
  496.  
  497.